<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>PersistPtrHolder (POI API Documentation)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="PersistPtrHolder (POI API Documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PersistPtrHolder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/poi/hslf/record/ParentAwareRecord.html" title="interface in org.apache.poi.hslf.record"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../org/apache/poi/hslf/record/PersistRecord.html" title="interface in org.apache.poi.hslf.record"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/poi/hslf/record/PersistPtrHolder.html" target="_top">FRAMES</a></li>
<li><a href="PersistPtrHolder.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.poi.hslf.record.PositionDependentRecordAtom">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<p class="subTitle">org.apache.poi.hslf.record</p>
<h2 title="Class PersistPtrHolder" class="title">Class PersistPtrHolder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/poi/hslf/record/Record.html" title="class in org.apache.poi.hslf.record">org.apache.poi.hslf.record.Record</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/poi/hslf/record/RecordAtom.html" title="class in org.apache.poi.hslf.record">org.apache.poi.hslf.record.RecordAtom</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html" title="class in org.apache.poi.hslf.record">org.apache.poi.hslf.record.PositionDependentRecordAtom</a></li>
<li>
<ul class="inheritance">
<li>org.apache.poi.hslf.record.PersistPtrHolder</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecord.html" title="interface in org.apache.poi.hslf.record">PositionDependentRecord</a></dd>
</dl>
<hr>
<br>
<pre>public final class <strong>PersistPtrHolder</strong>
extends <a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html" title="class in org.apache.poi.hslf.record">PositionDependentRecordAtom</a></pre>
<div class="block">General holder for PersistPtrFullBlock and PersistPtrIncrementalBlock
  records. We need to handle them specially, since we have to go around
  updating UserEditAtoms if they shuffle about on disk
 These hold references to where slides "live". If the position of a slide
  moves, then we have update all of these. If we come up with a new version
  of a slide, then we have to add one of these to the end of the chain
  (via CurrentUserAtom and UserEditAtom) pointing to the new slide location</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Nick Burch</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.poi.hslf.record.PositionDependentRecordAtom">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.poi.hslf.record.<a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html" title="class in org.apache.poi.hslf.record">PositionDependentRecordAtom</a></h3>
<code><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html#myLastOnDiskOffset">myLastOnDiskOffset</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.poi.hslf.record.Record">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.poi.hslf.record.<a href="../../../../../org/apache/poi/hslf/record/Record.html" title="class in org.apache.poi.hslf.record">Record</a></h3>
<code><a href="../../../../../org/apache/poi/hslf/record/Record.html#logger">logger</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#PersistPtrHolder(byte[], int, int)">PersistPtrHolder</a></strong>(byte[]&nbsp;source,
                int&nbsp;start,
                int&nbsp;len)</code>
<div class="block">Create a new holder for a PersistPtr record</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#addSlideLookup(int, int)">addSlideLookup</a></strong>(int&nbsp;slideID,
              int&nbsp;posOnDisk)</code>
<div class="block">Adds a new slide, notes or similar, to be looked up by this.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#getKnownSlideIDs()">getKnownSlideIDs</a></strong>()</code>
<div class="block">Get the list of slides that this PersistPtrHolder knows about.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#getRecordType()">getRecordType</a></strong>()</code>
<div class="block">Return the value we were given at creation, be it 6001 or 6002</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.util.Hashtable&lt;java.lang.Integer,java.lang.Integer&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#getSlideLocationsLookup()">getSlideLocationsLookup</a></strong>()</code>
<div class="block">Get the lookup from slide numbers to byte offsets, for the slides
  known about by this PersistPtrHolder.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.util.Hashtable&lt;java.lang.Integer,java.lang.Integer&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#getSlideOffsetDataLocationsLookup()">getSlideOffsetDataLocationsLookup</a></strong>()</code>
<div class="block">Get the lookup from slide numbers to their offsets inside
  _ptrData, used when adding or moving slides.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#updateOtherRecordReferences(java.util.Hashtable)">updateOtherRecordReferences</a></strong>(java.util.Hashtable&lt;java.lang.Integer,java.lang.Integer&gt;&nbsp;oldToNewReferencesLookup)</code>
<div class="block">At write-out time, update the references to the sheets to their
  new positions</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/poi/hslf/record/PersistPtrHolder.html#writeOut(java.io.OutputStream)">writeOut</a></strong>(java.io.OutputStream&nbsp;out)</code>
<div class="block">Write the contents of the record back, so it can be written
  to disk</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.poi.hslf.record.PositionDependentRecordAtom">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.poi.hslf.record.<a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html" title="class in org.apache.poi.hslf.record">PositionDependentRecordAtom</a></h3>
<code><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html#getLastOnDiskOffset()">getLastOnDiskOffset</a>, <a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html#setLastOnDiskOffset(int)">setLastOnDiskOffset</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.poi.hslf.record.RecordAtom">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.poi.hslf.record.<a href="../../../../../org/apache/poi/hslf/record/RecordAtom.html" title="class in org.apache.poi.hslf.record">RecordAtom</a></h3>
<code><a href="../../../../../org/apache/poi/hslf/record/RecordAtom.html#getChildRecords()">getChildRecords</a>, <a href="../../../../../org/apache/poi/hslf/record/RecordAtom.html#isAnAtom()">isAnAtom</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.poi.hslf.record.Record">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.poi.hslf.record.<a href="../../../../../org/apache/poi/hslf/record/Record.html" title="class in org.apache.poi.hslf.record">Record</a></h3>
<code><a href="../../../../../org/apache/poi/hslf/record/Record.html#buildRecordAtOffset(byte[], int)">buildRecordAtOffset</a>, <a href="../../../../../org/apache/poi/hslf/record/Record.html#createRecordForType(long, byte[], int, int)">createRecordForType</a>, <a href="../../../../../org/apache/poi/hslf/record/Record.html#findChildRecords(byte[], int, int)">findChildRecords</a>, <a href="../../../../../org/apache/poi/hslf/record/Record.html#writeLittleEndian(int, java.io.OutputStream)">writeLittleEndian</a>, <a href="../../../../../org/apache/poi/hslf/record/Record.html#writeLittleEndian(short, java.io.OutputStream)">writeLittleEndian</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="PersistPtrHolder(byte[], int, int)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>PersistPtrHolder</h4>
<pre>protected&nbsp;PersistPtrHolder(byte[]&nbsp;source,
                int&nbsp;start,
                int&nbsp;len)</pre>
<div class="block">Create a new holder for a PersistPtr record</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getKnownSlideIDs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKnownSlideIDs</h4>
<pre>public&nbsp;int[]&nbsp;getKnownSlideIDs()</pre>
<div class="block">Get the list of slides that this PersistPtrHolder knows about.
 (They will be the keys in the hashtable for looking up the positions
  of these slides)</div>
</li>
</ul>
<a name="getSlideLocationsLookup()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSlideLocationsLookup</h4>
<pre>public&nbsp;java.util.Hashtable&lt;java.lang.Integer,java.lang.Integer&gt;&nbsp;getSlideLocationsLookup()</pre>
<div class="block">Get the lookup from slide numbers to byte offsets, for the slides
  known about by this PersistPtrHolder.</div>
</li>
</ul>
<a name="getSlideOffsetDataLocationsLookup()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSlideOffsetDataLocationsLookup</h4>
<pre>public&nbsp;java.util.Hashtable&lt;java.lang.Integer,java.lang.Integer&gt;&nbsp;getSlideOffsetDataLocationsLookup()</pre>
<div class="block">Get the lookup from slide numbers to their offsets inside
  _ptrData, used when adding or moving slides.</div>
</li>
</ul>
<a name="addSlideLookup(int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addSlideLookup</h4>
<pre>public&nbsp;void&nbsp;addSlideLookup(int&nbsp;slideID,
                  int&nbsp;posOnDisk)</pre>
<div class="block">Adds a new slide, notes or similar, to be looked up by this.
 For now, won't look for the most optimal on disk representation.</div>
</li>
</ul>
<a name="getRecordType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRecordType</h4>
<pre>public&nbsp;long&nbsp;getRecordType()</pre>
<div class="block">Return the value we were given at creation, be it 6001 or 6002</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/poi/hslf/record/Record.html#getRecordType()">getRecordType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/poi/hslf/record/Record.html" title="class in org.apache.poi.hslf.record">Record</a></code></dd>
</dl>
</li>
</ul>
<a name="updateOtherRecordReferences(java.util.Hashtable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateOtherRecordReferences</h4>
<pre>public&nbsp;void&nbsp;updateOtherRecordReferences(java.util.Hashtable&lt;java.lang.Integer,java.lang.Integer&gt;&nbsp;oldToNewReferencesLookup)</pre>
<div class="block">At write-out time, update the references to the sheets to their
  new positions</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecord.html#updateOtherRecordReferences(java.util.Hashtable)">updateOtherRecordReferences</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecord.html" title="interface in org.apache.poi.hslf.record">PositionDependentRecord</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html#updateOtherRecordReferences(java.util.Hashtable)">updateOtherRecordReferences</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/poi/hslf/record/PositionDependentRecordAtom.html" title="class in org.apache.poi.hslf.record">PositionDependentRecordAtom</a></code></dd>
</dl>
</li>
</ul>
<a name="writeOut(java.io.OutputStream)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>writeOut</h4>
<pre>public&nbsp;void&nbsp;writeOut(java.io.OutputStream&nbsp;out)
              throws java.io.IOException</pre>
<div class="block">Write the contents of the record back, so it can be written
  to disk</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/poi/hslf/record/Record.html#writeOut(java.io.OutputStream)">writeOut</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/poi/hslf/record/Record.html" title="class in org.apache.poi.hslf.record">Record</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PersistPtrHolder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/poi/hslf/record/ParentAwareRecord.html" title="interface in org.apache.poi.hslf.record"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../../org/apache/poi/hslf/record/PersistRecord.html" title="interface in org.apache.poi.hslf.record"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/poi/hslf/record/PersistPtrHolder.html" target="_top">FRAMES</a></li>
<li><a href="PersistPtrHolder.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.poi.hslf.record.PositionDependentRecordAtom">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li>FIELD&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright 2014 The Apache Software Foundation or
        its licensors, as applicable.</i>
            </small></p>
</body>
</html>
